/**
 * any类型
 * 原则：不推荐使用any,这会让 typescript 变成 anyScript(失去Ts类型保护的优势)
 * 因为当值的类型变为any时，可以对该值进行任意操作并且不会有代码提示。
 */

let obj:any={x:0}
obj.var=100
obj()
const n:number=obj

/**
 * 解释:以上操作都不会有任何类型错误提示,即使可能存在错误
 * 尽可能的避免使用any类型,除非临时用any来避免书写很潮很复杂的类型
 * 其他隐式具有any类型的情况:1.声明变量不提供类型也不提供默认值
 * 2.函数参数不加类型
 * 注意:因为不推荐使用any,所以这两种情况都应该提供类型
 */